/**
 * 文件附件接口定义
 */
export interface IFileAttachment {
  ID?: string | null;
  FileName?: string | null;
  Length?: number | null;
  UploadTime?: Date | null;
  SaveMode?: string | null;
  ExtraInfo?: string | null;
  FileExt?: string | null;
  ThumbnailUrl?: string | null;
  Url?: string | null;
  IsTemporary?: boolean | null;
}

export interface IFrameworkUser {
  ID?: string | null;
  ITCode: string | null;
  Name: string | null;
  Password?: string | null;
  IsValid: boolean | null;
  PhotoId?: string | null;
  Email?: string | null;
  Gender?: 'Male' | 'Female' | null;
  CellPhone?: string | null;
  HomePhone?: string | null;
  Address?: string | null;
  ZipCode?: string | null;
  CreateTime?: Date | null;
  UpdateTime?: Date | null;
  CreateBy?: string | null;
  UpdateBy?: string | null;
}

export interface IFrameworkGroup {
  ID?: string | null;
  GroupCode?: string | null;
  GroupName?: string | null;
  ParentId?: string | null;
  Manager?: string | null;
  GroupRemark?: string | null;
  CreateTime?: Date | null;
  UpdateTime?: Date | null;
  CreateBy?: string | null;
  UpdateBy?: string | null;
}

export interface ISysJobPosition {
  ID?: string | null;
  Code?: string | null;
  Name?: string | null;
  Description?: string | null;
  GroupId?: string | null;
  Group?: IFrameworkGroup;
  CreateTime?: Date | null;
  UpdateTime?: Date | null;
  CreateBy?: string | null;
  UpdateBy?: string | null;
}

export interface IFrameworkRole {
  ID?: string | null;
  RoleCode?: string | null;
  RoleName?: string | null;
  RoleRemark?: string | null;
  CreateTime?: Date | null;
  UpdateTime?: Date | null;
  CreateBy?: string | null;
  UpdateBy?: string | null;
}
export interface ISysGroup {
  ID?: string | null;
  GroupCode?: string | null;
  GroupName?: string | null;
  ParentId?: string | null;
  Manager?: string | null;
  GroupRemark?: string | null;
  CreateTime?: Date | null;
  UpdateTime?: Date | null;
}

export interface ISysOrg {
  ID?: string | null;
  OrgCode?: string | null;
  OrgName?: string | null;
  ParentId?: string | null;
  Manager?: string | null;
  OrgRemark?: string | null;
  CreateTime?: Date | null;
  UpdateTime?: Date | null;
}
export interface ISysHrTransferRequestBill {
  ID?: string | null;
  TransferRequestCode?: string | null;
  TransferRequestName?: string | null;
  TransferRequestType?: string | null;
  TransferRequestStatus?: string | null;
  TransferRequestDate?: Date | null;
}
export interface ISysPerson {
  ID?: string | null;
  PersonCode?: string | null;
  PersonName?: string | null;
  PersonType?: string | null;
  PersonStatus?: string | null;
  PersonDate?: Date | null;
}
export interface ISysPersonContract {
  ID?: string | null;
  ContractCode?: string | null;
  ContractNo?: string | null;
  ContractName?: string | null;
  ContractType?: string | null;
  ContractStatus?: string | null;
  ContractDate?: Date | null;
}